const app = getApp();
const util = require('../../utils/util.js')
let aim = 1;
Page({
    data: {},
    onLoad() {
        aim = 1;
        // 获取用户授权code
        this.getAliOpenid();
    },
    // 获取用户openID
    getAliOpenid() {
        let that = this;
        my.getAuthCode({
            scopes: 'auth_base',
            success: (res) => {
                if (res.authCode) {
                    my.showLoading({
                        content: '请稍后...'
                    });
                    util.httpRequest('/aliAuthCode', {
                        code: res.authCode
                    }, function (res) {
                        my.hideLoading();
                        if (res.data.openid) {
                            app.globalData.openID = res.data.openid;
                            // 查看用户是否授权
                            that.userIsAuth();
                        } else {
                            if (aim < 3) {
                                my.showToast({
                                    content: 'openID获取失败',
                                    type: 'none'
                                });
                                that.getAliOpenid();
                            } else {
                                my.confirm({
                                    title: '温馨提示',
                                    content: '尊敬的用户,您的openID未获取到,请您退出程序并再次进入重新获取'
                                });
                                return
                            }
                            aim++;
                        }
                    })
                }
            },
            fail() {
                my.showToast({
                    content: '支付宝code获取失败，请退出重试',
                    type: 'none'
                });
            }
        });
    },

    // 用户授权获取用户信息
    getUserInfos(userinfo) {
        let that = this;
        my.getOpenUserInfo({
            success: (userinfo) => {
                // console.log(userinfo)
                my.showLoading({
                    content: '请稍后...'
                });
                util.httpRequest('/updateUserInfo', {
                    openid: app.globalData.openID,
                    userinfo: JSON.stringify(userinfo)
                }, function (res) {
                    my.hideLoading();
                    if (res.code == 1) {
                        my.getLocation({
                            success(res) {
                                app.globalData.longitude = res.longitude;
                                app.globalData.latitude = res.latitude;
                            }
                        });
                        // 查看用户是否授权
                        that.userIsAuth();
                    } else {
                        my.showToast({
                            content: res.msg,
                            type: 'none'
                        });
                    }
                })
            },
            fail() {
                my.showToast({
                    content: '用户信息获取失败，请退出重试',
                    type: 'none'
                });
            }
        });
    },
    // 用户拒绝授权事件
    onAuthError() {
        my.confirm({
            title: '温馨提示',
            content: '为了保证您正常使用服务，需要您授权您现在的位置和基本信息(基本信息仅包含头像，昵称等数据)，您的信息将按照用户协议严格保密，请允许授权'
        });
        return;
    },

    // 判断用户是否授权
    userIsAuth() {
        let that = this;
        my.showLoading({
            content: 'loading...'
        });
        util.httpRequest('/checkAuth', {}, function (res) {
            my.hideLoading();
            if (res.code == 1) {
                if (res.data.is_auth == 1) { //已授权
                    my.redirectTo({
                        url: '/pages/index/index'
                    })
                }
            }
        })
    },

});
